with a slightly abstract